Circuits for improving the reliability of antifuses in integrated circuits

ABSTRACT

A circuit improves the reliability of antifuses in certain types of systems by substantially eliminating the continuous undesirable applications of voltages across antifuse terminals. To accomplish this, an antifuse has applied across its two terminals a &#34;reading&#34; or &#34;evaluation&#34; voltage as required by the system operation for a single read or evaluation clock period (typically 5 ns to 30 ns in duration). The signal describing the state of the antifuse is then stored in a latch, register, or other suitable structure for subsequent sampling. In this manner, a low read current flows in the antifuse in response to the standard chip operating voltage for only a short period of time such as a single clock cycle. Thus, continuous voltages across the two terminals of the antifuse are avoided and an unprogrammed antifuse is not inadvertently programmed and a programmed antifuse is not inadvertently converted back to its high impedance state (i.e. &#34;unprogrammed&#34;). In another embodiment, a multiplexer coupled to a terminal of the antifuse switches the terminal of the antifuse to a programming voltage node when the antifuse is selected for programming and to a reference voltage source when the antifuse is not selected for programming. The multiplexer prevents undesired voltages from being applied across the antifuse while other antifuses are being programmed. The two embodiments discussed may be used in conjunction with each other or separately.

This application is a continuation of application Ser. No. 08/473,039, filed Jun. 6, 1995, now U.S. Pat. No. 5,680,360.

FIELD OF THE INVENTION

This invention relates to programmable integrated circuits and more particularly to circuits for improving the reliability of antifuses.

BACKGROUND

An antifuse circuit element used in integrated circuits is a resistive fuse component which in the unprogrammed state has a very high (i.e. at least hundreds of megaohms) impedance but which when programmed has a low impedance, typically on the order of a few hundred ohms or less. The antifuse is programmed by applying a programming voltage, larger in magnitude than normal operating voltages, across the terminals of the antifuse for a sufficient time to change the impedance of the antifuse from high to low. An antifuse may comprise a sandwich of thin film dielectric materials such as silicon dioxide, silicon nitride, and silicon dioxide (sometimes called "ONO" for "oxide-nitride-oxide") disposed between two conductors, or the antifuse may include a layer of undoped amorphous silicon between two conductors.

The integrity of the antifuse in both its programmed and unprogrammed states is adversely affected by several factors. For example, elevated operating temperatures of the integrated circuit associated with current flowing through a programmed antifuse or a continuous voltage bias across and current flow through the programmed antifuse can degrade the conductivity of a programmed antifuse over time causing a deleterious change in the operation of the circuit containing the antifuse. A voltage bias across the terminals of a programmed antifuse associated with continuous current flow during normal operating conditions may cause the programmed antifuse to return to the high impedance non-programmed characteristic of an open circuit.

When used in an array, an antifuse to be programmed is selected by decoding the address of the to-be-programmed antifuse and electrically programming the selected antifuse by applying an external programming voltage, Vpp, across the terminals of the antifuse. Although the external programming voltage Vpp should only be applied across those antifuses selected to be programmed on a one-by-one basis, non-selected antifuses may be subjected unintentionally to the programming voltage which may result in the unintentional programming of an unprogrammed antifuse. Additionally, an antifuse frequently evaluated by a read voltage across the antifuse terminals may also result in unintentionally changing the programmed or unprogrammed state of the antifuse.

In an integrated circuit, a single defective antifuse or an unintentionally programmed or deprogrammed antifuse can cause an entire integrated circuit to malfunction. This can severely reduce manufacturing yields and reliability, and increases costs.

SUMMARY OF THE INVENTION

The present invention improves the reliability of antifuses in certain types of systems by substantially eliminating the continuous undesirable applications of voltages across antifuse terminals. To do this, an antifuse has applied across its two terminals a "reading" or "evaluation" voltage as required by the system operation for a single read or evaluation clock period (typically 5 ns to 30 ns in duration). The signal describing the state of the antifuse is then stored in a latch, register, or other suitable structure for subsequent sampling. In this manner, a low read current flows in the antifuse in response to the standard chip operating voltage for only a short period of time. Thus continuous voltages across the two terminals of the antifuse are avoided and an unprogrammed antifuse is not inadvertently programmed and a programmed antifuse is not inadvertently converted back to its high impedance state (i.e. "unprogrammed").

In another embodiment, a multiplexer coupled to a terminal of the antifuse switches the terminal of the antifuse to a programming voltage node when the antifuse is selected for programming and to a reference voltage source when the antifuse is not selected for programming. The multiplexer prevents undesired voltages from being applied across the antifuse while other antifuses are being programmed.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference numerals referring to the same feature appearing in multiple figures are the same.

FIG. 1 illustrates a schematic diagram of one embodiment of a circuit for improving the reliability of antifuses.

FIG. 2 illustrates a schematic diagram of another embodiment of a circuit for improving the reliability of antifuses.

DETAILED DESCRIPTION

The following description of the invention is intended to be illustrative only and not limiting.

Antifuses used in typical integrated circuits such as memories, microprocessors, and field programmable gate arrays are typically organized into an array or other suitable structure. Antifuses are selected for programming by a select circuit or other addressing circuitry of well known design. During programming, a programming voltage is selectively and sequentially applied across each antifuse designated for programming. Non-designated antifuses are protected from the programming voltage to prevent unintentional programming or deprogramming. Typically a variable voltage source external to the integrated circuit being programmed is coupled to an external programming pin on the integrated circuit being programmed which is coupled to a node of the antifuse being programmed to establish the programming voltage.

The external programming pin is generally stressed for voltages consistent with electrostatic discharge (ESD) levels which typically exceed positive and negative two thousand volts (2000 V). However, an antifuse coupled to the programming pin and all other antifuses are susceptible to damage from ESD levels unless they are adequately protected from the ESD levels. One way of protecting each antifuse is to isolate all antifuses from potential sources of ESD voltages during non-operational modes. Effective isolation substantially decreases the probability of the state of an antifuse being inadvertently changed with the resulting undesirable consequences for the circuit in which the antifuse is located. According to this invention, the state of an antifuse is preferably stored in a latch, register, or other suitable structure and thus is available for continuous sampling without subjecting the antifuse to additional read voltages. Decreasing the time a voltage is applied to an antifuse increases the reliability of the antifuse which in turn increases the reliability of the circuit incorporating the antifuse.

Referring to FIG. 1, one embodiment of a circuit for improving the reliability of an antifuse is illustrated. When antifuse circuit 100 is selected for programming antifuse 102, the select circuit (not shown but of a type well known) applies a high voltage program signal such as +5 V to the FUSE node ("FUSE") and applies a low voltage read signal such as zero volts (0V) to the RESET node ("RESET"). Vpp is coupled to a below system ground voltage of -5 V during programming. The low voltage signal on RESET is applied to one input lead of NAND gate 104 to disable NAND gate 104. The other input lead to NAND gate 104 is connected to the output lead of inverter 106, the input lead of which is connected to the FUSE terminal. Consequently, when the signal on RESET is low, a low or high voltage signal on FUSE has no effect on the NAND gate 104 output signal, which remains high. The high output voltage signal from NAND gate 104 is transmitted to the gates of P-channel transistors Q2 and Q4 thereby turning "off" these two P-channel transistors. Inverters 106, 108, and 110 invert the high voltage signal on the FUSE terminal to a low voltage signal on select node 112. The low voltage signal applied to multiplexer select node 112 during programming causes P-channel MOS transistors Q1 and Q9 to conduct and causes N-channel MOS transistors Q7 and Q3 to be nonconductive. Inverters 106, 108, and 110 match delay through NAND gate 104 and prevent simultaneous conduction by transistor Q1 and transistors Q2 and Q4.

Conducting transistor Q9 establishes a current path through diode connected N-channel MOS transistors Q11 and Q12. Voltage bias circuit 114 establishes a bias voltage on the gate of N-channel MOS transistor Q8 equal to gate to source voltage ("Vgs") drops across transistors Q11 and Q12 less Vpp causing transistor Q8 to conduct.

Conducting transistors Q1 and Q8 apply a programming voltage of approximately Vdd-Vpp across unprogrammed antifuse 102. Initially, in response to this programming voltage, a small programming current flows through antifuse 102. As the resistance of antifuse 102 decreases, the programming current increases. The non-linear drain-to-source voltage ("Vds") versus drain current ("Id") characteristics of transistors Q1 and Q8 limit the programming current. After approximately 1 μs, the programming voltage across antifuse 102 reduces the resistance of now programmed antifuse 102 to a few hundred ohms or less.

After programming, the FUSE terminal is brought to a low voltage, typically zero volts. The low voltage signal on the FUSE terminal produces a high voltage on the NAND gate 104 second input lead, thus allowing RESET to maintain control of NAND gate 104. Inverters 106, 108, and 110 invert the low voltage signal at FUSE and charge select node 112 to approximately +5 V. P-channel MOS transistor Q9 is turned "off" by the high voltage signal on select node 112. N-channel MOS transistor Q10, which is normally "on", discharges the gate of N-channel MOS transistor Q8 to approximately Vpp turning off Q8 and thereby decoupling antifuse 102 from Vpp. The high voltage signal on multiplexer select node 112 causes N-channel MOS transistors Q3 and Q7 to conduct and couple both terminals of antifuse 102 to Vref where Vref is connected to a ground reference.

During an initial read operation, a high voltage read signal of +5 V is applied to RESET by the select circuit (not shown) and Vpp is connected to system ground (by a circuit, not shown, of well known design). The high voltage signal on RESET enables NAND gate 104 to apply a low voltage signal to respective gates of transistors Q2 and Q4 which causes transistors Q2 and Q4 to conduct.

During the initial read operation, if antifuse 102 is not programmed, transistors Q2, Q3, and Q7 establish a current path between Vdd and Vref. Negligible current flows through unprogrammed antifuse 102. Transistor Q3, a high impedance transistor, and transistor Q7 provide a higher series impedance than the impedance of transistor Q2. This voltage divider (made up of series connected transistors Q2, Q3 and Q7) charges read output node 116 to a voltage ranging from about 3V to about +5 V (logic "1"). Conducting transistor Q4 transfers the logic "1" to the input of latch 118. Latch 118 latches the logic "1" via cross coupled inverter 120 and inverter coupled P-channel MOS transistor Q5 and N-channel MOS transistor Q6 and transfers a voltage of about 0 V to the input of inverting output driver 122. Inverting output driver 122 establishes a logic "1" on the FUSE₋₋ OUT node ("FUSE₋₋ OUT").

If antifuse 102 is programmed during the initial read operation, a current path is established between Vdd and Vref through transistor Q2, antifuse 102, and transistor Q7. The relatively low resistance of antifuse 102 compared to the high impedance of transistor Q3 causes transistor Q3 to conduct very little current. The relative impedances of series connected transistor Q2, antifuse 102, and transistor Q7 discharge read output node 116 to about 0-2V (logic "0"). The voltage drop between read output node 116 and the transistor Q4 gate exceeds the threshold voltage (Vth) of transistor Q4 causing transistor Q4 to conduct and transfer the logic "0" on node 16 to the input lead of latch 118. Latch 118 inverts the latched logic "0" to a logic "1" which is applied to the input terminal of inverting output driver 122. Inverting output driver 122 establishes a logic "0" on FUSE₋₋ OUT.

Latch 118 and output driver 122 maintain the information read from antifuse 102 at FUSE₋₋ OUT. All subsequent read operations require sampling FUSE₋₋ OUT rather than repeating the initial read operation. Limiting the number of accesses to antifuse 102 significantly prolongs the life and thus the reliability of antifuse 102.

Multiplexer 124 also significantly improves the reliability of antifuse 102. Since Vpp will be brought below system ground during programming of other antifuses, select node 112 insures that multiplexer 124 only couples antifuse 102 to Vpp when antifuse 102 is selected for programming. This selective decoupling of Vpp from programmed antifuse 102 prevents unwanted Vdd minus Vpp voltage drops across antifuse 102.

Additionally, during non-program operations high impedance transistor Q3 conducts and provides a discharge path for any residual charge existing on the upper terminal (connected to read output node 116) node of antifuse 102. Furthermore, transistor Q8 preferably has a 100-200 μm channel width and a 2 μm length and transistor Q7 has a 50-150 μm channel width and a 2 μm length to effectively isolate antifuse 102 from ESD voltages applied to the Vpp and Vref terminals, respectively, while maintaining antifuse circuit 100 integrity.

Referring to FIG. 2, another embodiment of an antifuse circuit for improving the reliability of antifuses is illustrated. When antifuse circuit 200 is selected for programming antifuse 202, the select circuit (not shown) applies a low voltage program signal such as 0 V to PGM node ("PGM") connected to the gate of P-channel MOS transistor Q1 and applies a high read signal voltage such as +5 V to the READ node ("READ)"). Vpp is coupled to a below system ground voltage source having a voltage of -5 V. Applying the high voltage signal on READ prevents transistor Q7 from conducting. Inverter 206 inverts the high voltage signal on READ and applies a low voltage signal to the gate of N-channel transistor Q8 which prevents transistor Q8 from conducting.

Application of the low signal voltage at PGM to the gate of transistor Q1 causes transistor Q1 to conduct. Conducting transistor Q1 establishes a current path from Vdd to Vpp through voltage bias circuit 204. Voltage bias circuit 204 functions identically to voltage bias circuit 114 (FIG. 1). Voltage bias circuit 204 establishes a bias voltage on the gate of N-channel MOS transistor Q3 causing transistor Q3 to conduct. Initially, very little programming current flows through antifuse 202, and, with transistor Q3 conducting, a programming voltage approximately equal to Vdd minus Vpp is applied across antifuse 202. This programming voltage applied for 1 μs causes the resistance of antifuse 202 to decrease to a few hundred ohms or less. The non-linear Vds-Id characteristic of transistor Q3 limits the programming current flowing through antifuse 202.

Transistor Q3 not only couples Vdd and Vpp across antifuse 202, transistor Q3 also protects antifuse 202 from excessive programming current. After programming antifuise 202, PGM is brought to a high voltage of about +5 V for all non-programming operations which prevents transistor Q1 from conducting. Transistor Q6 conducts as long as Vdd minus Vpp exceeds Vth of transistor Q6. With transistor Q1 turned "off," transistor Q6 discharges the gate of transistor Q3 to Vpp which prevents transistor Q3 from conducting.

During an initial read operation, the select circuit (not shown) applies 0V to the READ terminal. Inverter 206 inverts the low voltage signal on READ and applies a high voltage signal to the gate of transistor Q8 causing Q8 to conduct.

During the initial read operation, if antifuse 202 is not programmed, transistors Q8 and Q7 establish a current path between Vref and the input of latch 208. Pass transistor Q7 transfers a logic "0" to the latch 208 input. Latch 208 functions identically to latch 118 and includes cross-coupled inverter 212 and inverter-coupled P channel transistor Q9 and N channel transistor Q10. Latch 208 transfers a logic "1" output signal to the input terminal of inverter output driver 210. Inverter output driver 210 establishes a low level signal corresponding to a logic "0" on FUSE₋₋ OUT.

If antifuse 202 is programmed, during the initial read operation a current path is established between Vdd and Vref through antifuse 202 and transistor Q8. The relatively low impedance of programmed antifuse 202 compared to the impedance of conducting transistor Q8 causes read output node 214 to charge to a logic "1". Pass transistor Q7 transfers a high level signal corresponding to the logic "1" at read output node 214 to the input terminal of latch 208. Latch 208 transfers a low-level signal corresponding to a logic "0" to the input terminal of inverter output driver 210, and inverter output driver 210 asserts a high level signal corresponding to a logic "1" on FUSE₋₋ OUT.

Latch 208 and output driver 210 maintain the information read from antifuse 202 at FUSE₋₋ OUT. All subsequent read operations require sampling FUSE₋₋ OUT rather than repeating the initial read operation. Limiting the number of accesses to antifuse 202 Significantly prolongs the life and thus the reliability of antifuse 202.

The coupling of multiplexer 216 also significantly improves the reliability of antifuse 202. Since Vpp will be brought below system ground during programming of other antifuses, multiplexer 216 only couples antifuse 202 to Vpp when antifuse 202 is selected for programming. This selective decoupling of Vpp prevents unwanted Vdd minus Vpp voltage drops across antifuse 202.

It will be appreciated that the circuit of this invention improves the reliability of integrated circuits containing antifuses. For example, other voltage levels may be used to program and read the antifuses of FIGS. 1 and 2. Furthermore, additional antifuse ESD protection may be added to the antifuse circuits of FIGS. 1 and 2. For example, transistors Q1 and Q2 of FIG. 1 may be sized to encounter ESD voltages while preserving functional integrity. Other embodiments, modifications and improvements not described herein will be obvious to those of ordinary skill in the art in view of this disclosure. 

What is claimed is:
 1. A circuit comprising:a source of a first potential; a source of a second potential; a source of a reference potential; an antifuse having a first terminal coupled to the source of the first potential and a second terminal coupled to the source of the second potential during an operation to program the antifuse and coupled to the source of the reference potential during an operation to read a state of the antifuse; a latch having an input terminal coupled to one of the antifuse first and second terminals to store the state of the antifuse during the read operation; a current limiter coupled between the latch input terminal and the one of the antifuse first and second terminals to substantially prevent current flow through the antifuse after the latch stores the state of the antifuse.
 2. A circuit as in claim 1 wherein the latch includes a pair of cross coupled inverters.
 3. The circuit as in claim 1 wherein the reference potential is ground potential, and the second potential is minus 5 volts.
 4. The circuit as in claim 1 wherein the second terminal of the antifuse is only coupled to the source of the second potential during the operation to program the antifuse.
 5. The circuit as in claim 1 further comprising:a switch coupled across the first and second antifuse terminals and coupled to the source of the reference potential to provide a discharge path for any residual charge on the antifuse after the operation to program the antifuse.
 6. The circuit as in claim 5 wherein the switch is a metal oxide field effect transistor.
 7. The circuit as in claim 1 wherein the current limiter is coupled between the first terminal of the antifuse and the latch input terminal.
 8. A circuit comprising:an antifuse having first and second terminals and having a state; a source of a first voltage coupled to the first antifuse terminal; a memory for storing information relating to the state of the antifuse, the memory having an input terminal coupled to a selected one of the first and second antifuse terminals; a source of a programming voltage; a source of a reference voltage; a switching circuit having respective terminals coupled to the antifuse second terminal, the programming voltage source, and the reference voltage source to switch the antifuse second terminal between the programming voltage source and the reference voltage source in response to a control signal, wherein the switching circuit couples the reference voltage source to the antifuse second terminal during an operation to read the state of the antifuse and couples the programming voltage source to the antifuse second terminal only during an operation to program the antifuse to prevent coupling of the programming voltage source to the antifuse during nonprogramming operations of the antifuse; and a pass switch coupled between the memory and the antifuse, wherein the pass switch is capable of accessing the antifuse during the operation to read the state of the antifuse and is capable of transferring information relating to the state of the antifuse to the memory; wherein, when the memory stores the information relating to the state of the antifuse, the information relating to the state of the antifuse is capable of being read from the memory without repeated accessing of the antifuse.
 9. A circuit as in claim 8 wherein the switching circuit switches the antifuse second terminal to the programming voltage source during the antifuse programming operation and to the reference voltage source during the antifuse nonprogramming operation.
 10. A circuit as in claim 8 wherein the switching circuit is a multiplexer having an input terminal coupled to the antifuse second terminal, a first output terminal coupled to the programming voltage source, and a second output terminal coupled to the reference voltage source.
 11. A circuit as in claim 8 wherein the memory is exclusively associated with the antifuse.
 12. A circuit as in claim 8 further comprising:a program enable terminal; a first transistor having a control terminal coupled to the program enable terminal and a pair of current terminals coupled in series between the first voltage source and the first antifuse terminal; a read enable terminal; a second transistor having a control terminal coupled to the read enable terminal and a pair of current terminals coupled in series between the first voltage source and the first antifuse terminal.
 13. A circuit as in claim 12 further comprising:a logic gate having an output coupled to the read enable terminal, a first input terminal for receiving a memory RESET signal, and a second input terminal for receiving an antifuse PROGRAM signal.
 14. A circuit as in claim 12 wherein the first and second transistors are metal oxide semiconductor field effect transistors.
 15. The circuit as in claim 8 wherein the antifuse comprises a sandwich of thin film dielectric materials disposed between two conductors.
 16. The circuit as in claim 15 wherein the sandwich of thin film dielectric materials comprises successive films of silicon dioxide, silicon nitride, and silicon dioxide.
 17. The circuit as in claim 8 wherein the antifuse comprises undoped amorphous silicon disposed between two conductors.
 18. A method of reading and storing a state of an-antifuse in a circuit comprising the steps of:applying a programming voltage, obtained from a first voltage source and a programming voltage source, across the antifuse during an operation to program the antifuse; isolating the antifuse from the programming voltage source except during the operation to program the antifuse; applying a read voltage, obtained from the first voltage source and a reference voltage source, across the antifuse; coupling the antifuse to a memory exclusively associated with the antifuse; storing a signal related to the state of the antifuse in the memory; and decoupling the antifuse from the memory, wherein the memory continues to store the signal related to the state of the antifuse.
 19. The method of claim 18 wherein the memory is a latch.
 20. The method of claim 18 further comprising the step of:after the decoupling step, discharging the antifuse.
 21. The method of claim 19 wherein the latch includes a pair of cross-coupled inverters.
 22. The method of claim 18 wherein the read voltage applying step includes providing a first read signal to a control gate of a first switch coupled between the first voltage source and a first terminal of the antifuse;wherein the first read signal causes the first switch to conduct.
 23. The method of claim 22 wherein the read voltage applying step comprises:providing a second read signal to a control gate of a second switch coupled between the reference voltage source and a second terminal of the antifuse; wherein the second read signal causes the second switch to conduct.
 24. A method of programming an antifuse and retaining a state of the antifuse in a circuit comprising the steps of:coupling a first voltage source to a first terminal of the antifuse; coupling a second voltage source to a second terminal of the antifuse, wherein a voltage difference between the first and second voltage sources is a programming voltage which causes the antifuse to be programmed; decoupling the second voltage source from the antifuse second terminal unless the antifuse is to be programmed to otherwise prevent application of the programming voltage across the antifuse; coupling a reference voltage source to the antifuse second terminal, wherein a voltage difference between the reference and first voltage sources is less than the programming voltage; coupling a discharge circuit across the antifuse after the decoupling step to remove residual charge from across the antifuse; accessing the antifuse during the reference voltage source coupling step; transferring the state of the antifuse to a memory during the step of accessing; and isolating the memory from the antifuse, wherein the memory retains the state of the antifuse; wherein the reliability of the antifuse is increased.
 25. The method as in claim 24 further comprising the step of:decoupling the first voltage source from the antifuse first terminal.
 26. The method as in claim 24 wherein a multiplexer couples and decouples the second voltage source to the antifuse second terminal and couples the reference voltage source to the antifuse second terminal.
 27. The method as in claim 24 wherein the second voltage source decoupling step includes:receiving a select signal on an input terminal of a multiplexer; applying a first signal corresponding to the select signal to a control terminal of a first switch coupled between the antifuse second terminal and the second voltage source, wherein the first signal causes the first switch to be nonconductive; and wherein the reference voltage source coupling step includes: applying a second signal corresponding to the select signal to a control terminal of a second switch coupled between the antifuse second terminal and the reference voltage source, wherein the second signal allows the second switch to conduct.
 28. The method as in claim 27 further comprising the step of:after decoupling the second voltage source, discharging the control terminal of the first switch.
 29. A circuit comprising:an antifuse having first and second terminals and having a state; a source of a first voltage coupled to the first antifuse terminal; a register for storing information relating to the state of the antifuse having an input terminal coupled to a selected one of the first and second antifuse terminals; a source of a programming voltage; a source of a reference voltage; and a switching circuit having respective terminals coupled to the antifuse second terminal, the programming voltage source, and the reference voltage source to switch the antifuse second terminal between the programming voltage source and the reference voltage source in response to a control signal, wherein the switching circuit is a multiplexer having an input terminal coupled to the antifuse second terminal, a first output terminal coupled to the programming voltage source, and a second output terminal coupled to the reference voltage source.
 30. A circuit comprising:an antifuse having first and second terminals and having a state; a source of a first voltage coupled to the first antifuse terminal; a register for storing information relating to the state of the antifuse having an input terminal coupled to a selected one of the first and second antifuse terminals; a source of a programming voltage; a source of a reference voltage; a switching circuit having respective terminals coupled to the antifuse second terminal, the programming voltage source, and the reference voltage source to switch the antifuse second terminal between the programming voltage source and the reference voltage source in response to a control signal; a program enable terminal; a first transistor having a control terminal coupled to the program enable terminal and a pair of current terminals coupled in series between the first voltage source and the first antifuse terminal; a read enable terminal; a second transistor having a control terminal coupled to the read enable terminal and a pair of current terminals coupled in series between the first voltage source and the first antifuse terminal; and a pass transistor having a control terminal coupled to the read enable terminal and a pair of current terminals coupled in series between the first antifuse terminal and the register input terminal. 